<?php
class Admin_Model_ImagesContainer {
	/**
	 * Подгатавливает массив ижентификаторов картинок $value
	 * для хранения в сжатом виже в бд.
	 * @param array $value массив идентификаторов (типа int) или самих картинок (Admin_Model_Image)
	 * @param int $thumbSizeId идентификатор наименьшего размера
	 * @throws Exception если в массиве $value не поддерживаемый тип
	 * @return array массив элементов Admin_Model_Image
	 */
	public static function prepareImages($value, $thumbSizeId){
		$mapper = new Admin_Model_GalleryItemMapper();
		if (!is_array($value))
			$value = array($value);
		for($i=0;$i<count($value);$i++){
			if (is_numeric($value[$i])){
				$value[$i]=$mapper->find($value[$i]);
				$value[$i]->ThumbID = $thumbSizeId;
			}
			elseif ($value[$i] instanceof Admin_Model_Image){
				$value[$i]->ThumbID = $thumbSizeId;
			}
			else
				throw new Exception('Unsupported type: '.get_class($value[$i]));
		}
		return $value;
	}
}